from ollama import chat


def get_plan(subject, goal, duration):
    # 构造中文提示词
    prompt = f"""
        请为以下科目生成一个学习计划：
        科目：{subject}
        学习目标：{goal}
        学习时长：{duration}天
        计划应包括每天的学习任务和活动，以实现上述目标。
        """
    # 调用 ollama.chat 生成学习计划
    response = chat(
        model='deepseek-r1:7b',
        messages=[{'role': 'user', 'content': prompt}],
    )
    plan = response['message']['content']
    return plan


def chat_with_question(question,history):
    if len(history)>1000:
        history = history[0:1000]
    prompt = f"""
    请回答下面问题：
    {question}
    在回答时需要参考上文，并参考以下历史记录：
    {history}
        """
    print(prompt)
    response = chat(
        model='deepseek-r1:7b',
        messages=[{'role': 'user', 'content': prompt}],
    )
    msg = response['message']['content']
    return msg


def get_summary(text):
    prompt = f"""
        请为以下句子生成一个总结：
        句子：{text}
        总结应包括句子的关键信息和基本内容。
        """
    response = chat(
        model='deepseek-r1:7b',
        messages=[{'role': 'user', 'content': prompt}],
    )
    summary = response['message']['content']
    return summary

def translate(text, source_language, target_language):
    prompt = f"""
         你是多语言翻译模型，请将下面的句子从{source_language}翻译成{target_language}:
          {text}
          """
    # 调用 ollama.chat 生成学习计划
    response = chat(
        model='deepseek-r1:7b',
        messages=[{'role': 'user', 'content': prompt}],
    )
    translated_text = response['message']['content']
    return translated_text